#include "v4_ch15_basket2.h"
#include <iostream>
using std::cout;
using std::endl;

int basket_main2() {
	SalesItemBasket2 item1(Item_base2("123", 45));
	SalesItemBasket2 item2(Bulk_item2("345", 45, 3, .15));
	SalesItemBasket2 item3(Bulk_item2("678", 55, 5, .25));
	SalesItemBasket2 item4(Lim_item2("abc", 35, 2, .10));
	SalesItemBasket2 item5(Item_base2("def", 35));

	Basket2 sale;
	sale.add_item(item1);
	cout << "added first item" << endl;
	sale.add_item(item1);
	sale.add_item(item1);
	sale.add_item(item1);
	sale.add_item(item2);
	sale.add_item(item2);
	sale.add_item(item2);
	sale.add_item(item2);
	sale.add_item(item2);
	sale.add_item(item2);
	sale.add_item(item2);
	sale.add_item(item2);
	sale.add_item(item3);
	sale.add_item(item3);
	sale.add_item(item3);
	sale.add_item(item3);
	sale.add_item(item3);
	sale.add_item(item3);
	sale.add_item(item3);
	sale.add_item(item3);
	sale.add_item(item4);
	sale.add_item(item4);
	sale.add_item(item4);
	sale.add_item(item4);
	sale.add_item(item4);
	sale.add_item(item4);
	sale.add_item(item5);
	sale.add_item(item5);
	cout << "added last item" << endl;

	sale.display(cout);
	cout << sale.total() << endl;
	{
		// arguments are the isbn, price, minimum quantity, and discount
		Bulk_item2 bulk("0-201-82470-1", 50, 5, .19);
		Basket2 sale;
		sale.add_item(Bulk_item2("0-201-82470-1", 50, 5, .19));
		sale.add_item(Bulk_item2("0-201-82470-1", 50, 5, .19));
		sale.add_item(Bulk_item2("0-201-82470-1", 50, 5, .19));
		sale.add_item(Bulk_item2("0-201-82470-1", 50, 5, .19));
		sale.add_item(Bulk_item2("0-201-82470-1", 50, 5, .19));
		sale.add_item(Lim_item2("0-201-54848-8", 35, 2, .10));
		sale.add_item(Lim_item2("0-201-54848-8", 35, 2, .10));
		sale.add_item(Lim_item2("0-201-54848-8", 35, 2, .10));
		double total = sale.total();
		cout << "Total Sale: " << total << endl;
	}
}

//int main(){
//	return basket_main2();
//}
